package org.example.boot.usercenter.service;

import org.example.boot.usercenter.model.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;

/**
* @author HEZHAOGUI
* @description 针对表【user(用户表)】的数据库操作Service
* @createDate 2025-02-23 15:29:37
*/
public interface UserService extends IService<User> {

    /**
     * 微信小程序登录接口
     * @param code 前端传来的code
     */
    String userLoginGetCode2Session(String code);


    /**
     * 获取个人信息
     * @param openid 个人信息唯一标识
     */
    User getUserInformation(String openid);


    /**
     * 用户脱敏
     *
     * @param user 要脱敏的用户信息
     * @return user
     */
    User getSafetyUser(User user);

    /**
     * 获取用户的登录状态
     * @param request 前端的登录获取请求
     * @return
     */
    String getLoginState( HttpServletRequest request);

    /**
     * 修改用户的信息
     * @param user 要修改的信息
     * @param loginState 用户的登录的状态码
     * @return 修改的行数
     */
    int updateUser(User user ,String loginState);
}
